﻿using InputDocument.Model.EF;
using InputDocument.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace InputDocument.Models
{
    class StudentServiceForSQL
    {
        /// <summary>
        /// 读取数据库中的数据
        /// </summary>
        /// <returns></returns>
        public static List<StudentData> ReadFromSQL()//？？？？？？怎么复制出来的
        {
            var db = new dbEntities();
            var students = db.StudentData;
            return students.ToList();
        }
        /// <summary>
        /// 输出学生的成绩平均值，成绩最高的及成绩最低的学生的学生信息
        /// 用汉字与英文区分用数据库建造的类与我们程序中的Student类的区别
        /// </summary>
        /// <param name="students"></param>
        public static void OutputScore(List<StudentData> students)
        {
            if (!students.Any())//判断数据是否为空,？
            {
                Console.WriteLine("there is no record!");
                return;
            }
            var average = students.Average(a => a.成绩);//求成绩的平均值？
            Console.WriteLine($"SQL中成绩的平均值为{average}");
            var max = students.Max(a => a.成绩);
            var min = students.Min(a => a.成绩);
            foreach (var item in students)//求出并输出最大最小成绩学生信息
            {
                if (item.成绩 == max)
                    Console.WriteLine($"成绩最高分:{max}分，对应学生姓名:{item.姓名},学号:{item.学号},电话:{item.电话号},生日:{item.出生日期.ToLongDateString()}");//这里的birthday转换了？
                if (item.成绩 == min)
                    Console.WriteLine($"成绩最低分:{min}分，对应学生姓名:{item.姓名},学号:{item.学号},电话:{item.电话号},生日:{item.出生日期.ToLongDateString()}");//这里的birthday转换了？
            }
        }
    }
}
